package q856_scoreOfParentheses;

public class Solution_3 {
    /*
    最简单的方式
    根据题意，s 的分数与 1 分的 () 有关。
    对于每个 ()，它的最终分数与它所处的深度有关，如果深度为 bal，
    那么它的最终分数为 2^bal
    我们统计所有 () 的最终分数和即可。
     */
    public int scoreOfParentheses(String s) {
        int bal = 0, n = s.length(), res = 0;
        for (int i = 0; i < n; i++) {
            bal += (s.charAt(i) == '(' ? 1 : -1);
            if (s.charAt(i) == ')' && s.charAt(i - 1) == '(') {
                res += 1 << bal;
            }
        }
        return res;
    }

}
